package cn.hl.hm.service;

import com.vizhuo.client.base.AbstractVo;

import cn.hl.hm.entity.HelpInfo;
import cn.hl.hm.entity.Push;

/**
 * 推送至 物流公司/信息部 客户端 服务
 * 
 */
public interface PushToAppIService {

    /**
     * 推送消息-单播
     * 
     * @param phoneNumber
     *            手机号
     * @param accountType
     *            账号类型
     * @param pushText
     *            内容
     */
    public void pushMsgByAccount(String phoneNumber, String accountType, String title, String pushText);

    /**
     * 活动推送
     * 
     * @param phoneNumber
     * @param accountType
     * @param title
     * @param pushText
     */
    public void pushActivitByAccount(String accountType, String title, String pushText);

    /**
     * 设置黑名单推送
     * 
     * @param phoneNumber
     */
    public void pushBlackByAccount(String phoneNumber);

    /**
     * 信息审核推送-单播
     * 
     * @param phoneNumber
     *            手机号
     * @param accountType
     *            账号类型
     * @param title
     *            标题
     * @param pushText
     *            内容
     * @param AbstractVo
     *            (MebDriverVo,MebConsignerVo,MebInfoVo)
     */
    public void pushMsgByAccount(String phoneNumber, String accountType, String title, String pushText,
            AbstractVo abstractVo);

    /**
     * 系统消息-所有设备
     * 
     * @param title
     * @param pushText
     */
    public void pushSysMsgAll(String title, String pushText);

    /**
     * 推送-帮扶,给周边50公里司机发生推送(所有设备)
     * 
     * @param helpInfo
     * @param
     */
    public void pushHelp(HelpInfo helpInfo);


    /**
     * 推送测试-所有设备(列播方式)
     * 
     * @param push
     */
    public void pushTestAll(Push push);

    /**
     * 推送测试(单播)
     * 
     * @param push
     */
    public void pushTestUniCast(Push push);
    
    /**
     * 公共推送
     * 
     * @param Push
     */
    public void pushCommon(Push push);
    

    /**
     * 反馈推送
     * 
     * @param phoneNumber
     * @param accountType
     * @param pushText
     */
    public void pushFeedbackByAccount(String phoneNumber, String accountType, String pushText);

    /**
     * 物流公司确认收货以后给商户的推送-单播
     * 
     * @param phoneNumber
     *            手机号
     * @param accountType
     *            账号类型
     * @param pushText
     *            内容
     */
    public void pushMsgByCofirmGetGoods(String phoneNumber, String accountType, String title, String pushText);

}
